/**
 * @作者 zxy
 * @时间 2023-04-04 9:41
 * @说明 268. 丢失的数字
 * 给定一个包含 [0, n] 中 n 个数的数组 nums ，找出 [0, n] 这个范围内没有出现在数组中的那个数。
 * 示例 1：
 * 输入：nums = [3,0,1]
 * 输出：2
 * 解释：n = 3，因为有 3 个数字，所以所有的数字都在范围 [0,3] 内。2 是丢失的数字，因为它没有出现在 nums 中。
 */
public class Solution {
    /**
     * 执行用时：0 ms , 在所有 Java 提交中击败了100.00%的用户
     * 内存消耗：41.5 MB, 在所有 Java 提交中击败了98.58%的用户
     * @param nums
     * @return
     */
    public int missingNumber(int[] nums) {
        int n = nums.length;
        int[] record = new int[n + 1];
        for (int i = 0; i < n; i++) {
            record[nums[i]] = 1;
        }
        for (int i = 0; i < n + 1; i++) {
            if (record[i] == 0) return i;
        }
        return n;
    }
}
